/**
 * api 基础路径
 * @author lian
 */
const BaseApi = {
  /** 项目api 基础路径 */
  PROJECT_BASE: '/projects',
  /** 活动api 基础路径 */
  ACTIVITY_BASE: '/activities',
  /** 动态api 基础路径 */
  DYNAMIC_BASE: '/dynamics',
  /** 用户api 基础路径 */
  USERS_BASE: '/users',
  /** 上传api 基础路径 */
  UPLOAD_BASE: '/upload',
  /** 通知api 基础路径 */
  NOTIFICATION_BASE: '/notifications',
  /** 搜索api 基础路径 */
  SEARCH_BASE: '/search',
}

/**
 * 项目api
 * @author lian
 */
export const ProjectsApi = {
  /** 分页获取项目 */
  PAGED_GET_PROJECTS: BaseApi.PROJECT_BASE,
  /** 根据id获取项目详情 */
  GET_PROJECT_DETAIL: `${BaseApi.PROJECT_BASE}/:id/detail`,
  /** 创建项目 */
  CREATE_PROJECT: BaseApi.PROJECT_BASE,
  /** 随机获取一个项目 */
  RANDOM_GET_PROJECT: `${BaseApi.PROJECT_BASE}/random`,
  /** 项目捐款 */
  DONATIONS_PROJECT: `${BaseApi.PROJECT_BASE}/:id/donations`,
}

/**
 * 活动api
 * @author lian
 */
export const ActivityApi = {
  /** 分页获取活动 */
  PAGED_GET_ACTIVITY: BaseApi.ACTIVITY_BASE,
  /** 随机获取五个活动 */
  RANDOM_GET_FIVE_ACTIVITY: `${BaseApi.ACTIVITY_BASE}/random`,
  /** 报名志愿者活动 */
  SIGN_UP_ACTIVITY: `${BaseApi.ACTIVITY_BASE}/:id/signup`,
  /** 取消报名活动 */
  CANCEL_SIGN_UP_ACTIVITY: `${BaseApi.ACTIVITY_BASE}/:id/signup/cancel`,
  /** 获取活动详情 */
  GET_ACTIVITY_DETAIL: `${BaseApi.ACTIVITY_BASE}/:id/detail`,
  /** 创建活动 */
  CREATE_ACTIVITY: BaseApi.ACTIVITY_BASE,
}

/**
 * 动态 api
 * @author lian
 */
export const DynamicApi = {
  /** 分页获取动态 */
  PAGED_GET_DYNAMICS: BaseApi.DYNAMIC_BASE,
  /** 根据id删除动态 */
  DELETE_DYNAMIC: `${BaseApi.DYNAMIC_BASE}/:id`,
  /** 创建动态 */
  CREATE_DYNAMIC: BaseApi.DYNAMIC_BASE,
  /** 点赞该动态 */
  LIKE_DYNAMIC: `${BaseApi.DYNAMIC_BASE}/:id/like`,
  /** 取消点赞动态 */
  CANCEL_LIKE_DYNAMIC: `${BaseApi.DYNAMIC_BASE}/:id/cancel-like`,
  /** 创建动态的评论 */
  CREATE_DYNAMIC_COMMENT: `${BaseApi.DYNAMIC_BASE}/:id/comment`,
  /** 删除动态的评论 */
  DELETE_DYNAMIC_COMMENT: `${BaseApi.DYNAMIC_BASE}/:id/comment`,
  /** 分页获取动态的评论 */
  PAGED_GET_DYNAMIC_COMMENTS: `${BaseApi.DYNAMIC_BASE}/:id/comments`,
  /** 根据id获取动态详情 */
  GET_DYNAMIC_DETAIL: `${BaseApi.DYNAMIC_BASE}/:id/detail`,
  /** 检测用户是否地赞该动态 */
  IS_LIKE_DYNAMIC: `${BaseApi.DYNAMIC_BASE}/:id/is-like`,
}

/**
 * 用户api
 * @author lian
 */
export const UsersApi = {
  /** 微信授权登录 */
  LOGIN_WE_CHAT: `${BaseApi.USERS_BASE}/login/wechat`,
  /** 登录管理员用户 */
  LOGIN_ADMIN: `${BaseApi.USERS_BASE}/login/admin`,
  /** 更新用户信息 */
  UPDATE_USER_INFO: BaseApi.USERS_BASE,
  /** 更新用户积分 */
  UPDATE_USER_POINTS: `${BaseApi.USERS_BASE}/points/:points`,
  /** 获取当前登录用户动态 */
  GET_MY_DYNAMICS: `${BaseApi.USERS_BASE}/dynamics`,
  /** 获取当前登录用户活动 */
  GET_MY_PROJECTS: `${BaseApi.USERS_BASE}/projects`,
  /** 获取当前用户报名的活动 */
  GET_MY_ACTIVITIES: `${BaseApi.USERS_BASE}/activities`,
  /** 获取当前用户信息 */
  GET_MY_INFO: `${BaseApi.USERS_BASE}/my`,
  /** 根据id获取用户信息 */
  GET_USER_INFO_BY_ID: `${BaseApi.USERS_BASE}/:id`,
  /** 根据用户权限获取用户操作列表 */
  GET_USERS_OPERATE_LIST: `${BaseApi.USERS_BASE}/operate-list`,
  /** 发送短信验证码 */
  SEND_SMS: `${BaseApi.USERS_BASE}/send-sms`,
  /** 手机验证码登录 */
  SMS_LOGIN: `${BaseApi.USERS_BASE}/login/sms`,
}

/**
 * 上传api
 * @author lian
 */
export const UploadApi = {
  /** 上传 */
  UPLOAD: BaseApi.UPLOAD_BASE,
}

/**
 * 搜索api
 * @author lian
 */
export const SearchApi = {
  /** 搜索 */
  SEARCH: BaseApi.SEARCH_BASE,
  SEARCH_USER: `${BaseApi.SEARCH_BASE}/user`,
  SEARCH_ACTIVITY: `${BaseApi.SEARCH_BASE}/activity`,
  SEARCH_PROJECT: `${BaseApi.SEARCH_BASE}/project`,
}

/**
 * 通知api
 * @author lian
 */
export const NotificationApi = {
  /** 发布通知 */
  GET_NOTIFICATIONS_BY_TYPE_ID: `${BaseApi.NOTIFICATION_BASE}/:typeId`,
  /** 创建通知 */
  CREATE_NOTIFICATIONS: BaseApi.NOTIFICATION_BASE,
  /** 根据id删除通知 */
  DELETE_NOTIFICATION_BY_ID: `${BaseApi.NOTIFICATION_BASE}/:id`,
  GET_SYSTEM_NOTIFICATION: `${BaseApi.NOTIFICATION_BASE}/system`,
  GET_ACTIVITY_NOTIFICATION: `${BaseApi.NOTIFICATION_BASE}/activity`,
}

/**
 * 腾讯地图 api
 * @author lian
 */
export const TXMapApi = {
  /** 地址转经纬度 */
  TX_MAP_BASE: 'https://apis.map.qq.com/ws/geocoder/v1',
}
